Touch screens are prevalent in today's computing environment. Portable computers, desktop computers, tablets, smart phones, and smartwatches employ a touch screen to gain user input for navigation and control of these devices. Thus, discerning the intent of the user via touch inputs becomes an important feature of a touch screen device. Further, distinguishing actual touches to the touch screen by the user from noise and other non-input detections is also important for delivering meaningful communication of the user's intent through touches to the touch screen.
Typically, an input to a touch screen (e.g., a touch) is initiated by the user by placing a finger on the touch screen, which causes the touch screen to generate a variety of signals used by a touch screen controller to identify the location of the touch on the touch screen. For user interface applications (such as games) where a user places the finger on the touch screen, then without removing the finger, slides the finger to another location on the screen, smoothly tracking the motion of the user's finger is paramount. Typically, when the user's finger first comes into contact with the touch screen, the touch screen controller defines a tolerance range around that initial coordinate. As long as the user's finger does not move outside of the tolerance range defined around the initial coordinate, the touch screen controller reports only the initial coordinate.
When the user moves the finger out of the tolerance range, the touch screen controller begins to report new touch coordinates. To make the transition from inside the tolerance range to outside the tolerance range less sudden (and thus to help avoid jerky user interface response), the touch screen controller may report intermediate coordinates inside the tolerance range and between the initial coordinate and the current coordinate by applying suitable weights to the initial coordinate and the current coordinate. This technique, however, may be poor at transitioning from inside the tolerance range to outside the tolerance range when the user's finger is moved slowly, resulting in undesired jerky user interface response, which can be particularly unpleasant to the user for applications where fine movement is desired, such as drawing applications and first person shooting games.
Therefore, further development of touch motion tracking techniques, particularly for use when the touch motion is slow, is needed.